package router

import (
	"douhu_backend/internal/controller/auth"
	"douhu_backend/internal/infra/logger"
	"douhu_backend/internal/services"

	"github.com/kataras/iris/v12"
)

// InitPublicRoutes 初始化公开路由（不需要鉴权）
func InitPublicRoutes(app *iris.Application, sm *services.Manager) error {
	// 从服务管理器获取服务
	authSvc := sm.GetAuth()

	// 初始化控制器
	authController := auth.NewAuthController(authSvc)

	// 创建公开路由组
	publicGroup := app.Party("/api")

	// 认证相关公开路由
	authPublic := publicGroup.Party("/auth")
	authPublic.Post("/send-code", authController.SendCode)    // 发送验证码
	authPublic.Post("/register", authController.Register)     // 注册
	authPublic.Post("/login-with-code", authController.Login) // 登录
	authPublic.Post("/refresh", authController.RefreshToken)  // 刷新token

	logger.Info("public routes initialized successfully")
	return nil
}
